git stash
Gitでワーキングディレクトリで作業中の変更を一時退避する
保存する
$ git stash
スタッシュする
$ git stash saveと同じ
$ git stash save "hoge"
ワーキングディレクトリのものをhogeという名前をつけて退避
見る
$ git stash list
現時点で退避しているものの一覧を表示
-p
変更内容も表示
$ git stash show stashName
各変更を詳しく表示
復帰する
$ git stash apply stashName
復活
$ git stash pop
applyとdropを同時に行う
引数を指定しない場合は最新のものをpop
引数を指定する場合はstash@{2}など
ex. $ git stash pop stash@{2}
$ git stash branch newBranch stashName
stashからブランチを作成する
$ git merge "stash@{0}"
popやapplyで復帰にした場合に使う
error: hoge is not a valid reference
stashと現branchがconflictしているのでエラーになる
mergeすることでconflict解決させて復帰できる
削除する
$ git stash drop stashName
stashリストの中のstashを削除